package com.atguigu.gmall.order.biz;

import com.atguigu.gmall.mq.ware.WareStockResult;
import com.atguigu.gmall.order.entity.OrderInfo;
import com.atguigu.gmall.order.vo.OrderSplitRespVo;
import com.atguigu.gmall.order.vo.OrderSubmitVo;
import com.atguigu.gmall.order.vo.OrderconfirmRespVo;

import java.util.List;

public interface OrderBizService {

    OrderconfirmRespVo getConfirmData();

    /**
     *  提交订单
     * @param tradeNo
     * @param submitVo
     * @return
     */
    Long submitOrder(String tradeNo, OrderSubmitVo submitVo);

    /**
     * 关闭订单
     * @param id
     * @param userId
     */
    void closeOrder(Long id, Long userId);

    /**
     * 根据唯一的订单交易号和用户id去修改订单状态
     * @param out_trade_no
     * @param userId
     */

    void updateOrderStatus(String out_trade_no, long userId);


    void updateOrderStockStatus(WareStockResult result);
    /**
     * 拆单
     * @param orderId
     * @param json
     * @return
     */

    List<OrderSplitRespVo> orderSplit(Long orderId, String json);
}
